package memorphic.samplr
{
	import com.adobe.webapis.flickr.PagedPhotoList;
	import com.adobe.webapis.flickr.Photo;
	
	import memorphic.samplr.controllers.GalleryController;
	import memorphic.samplr.models.Gallery;
	import memorphic.samplr.models.PhotoSearchResults;
	import memorphic.slide.IStateView;
	
	import mx.collections.ArrayCollection;
	
	public interface ISamplrAppProps extends IStateView
	{
		// Models
		
		function get searchResults():PhotoSearchResults;
		function set searchResults(results:PhotoSearchResults):void;
		
		function get currentPhoto():Photo;
		function set currentPhoto(photo:Photo):void;
		
		function get currentGallery():Gallery;
		function set currentGallery(gallery:Gallery):void;
		
		function get galleries():ArrayCollection;
		function set galleries(collection:ArrayCollection):void;
		
		function get recentPhotos():PagedPhotoList;
		function set recentPhotos(photos:PagedPhotoList):void;
		
		function get strings():XML;
		function set strings(v:XML):void;
		
		function get interestingPhotos():ArrayCollection;
		function set interestingPhotos(v:ArrayCollection):void;
		
		function get selectedPhotos():ArrayCollection;
		function set selectedPhotos(v:ArrayCollection):void;
		
		
		// Controllers
				
		function get galleryController():GalleryController;
		function set galleryController(controller:GalleryController):void;
	}
}